JsonParser এবং JsonGenerator এর ব্যবহার

Java Technologies - জ্যাকসন (Jackson) - Streaming API ব্যবহার
271

Jackson-এর JsonParser এবং JsonGenerator API আপনাকে JSON ডেটার উপর লো-লেভেল স্ট্রিমিং প্রসেসিং করার ক্ষমতা দেয়। এগুলি ব্যবহার করে আপনি খুব কার্যকরীভাবে JSON ডেটা পড়তে এবং লিখতে পারেন।


JsonParser

JsonParser ব্যবহার করে JSON ডেটা স্ট্রিম হিসাবে পড়া হয়। এটি ইভেন্ট-বেসড পদ্ধতিতে কাজ করে এবং আপনাকে JSON ডেটার প্রতিটি টোকেন সম্পর্কে জানায়।

JsonParser উদাহরণ

JSON থেকে ডেটা পড়ার জন্য JsonParser ব্যবহার:

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;

import java.io.IOException;

public class JsonParserExample {
    public static void main(String[] args) throws IOException {
        String json = """
        {
          "name": "John Doe",
          "age": 30,
          "address": {
            "city": "Dhaka",
            "country": "Bangladesh"
          }
        }
        """;

        // Create JsonParser instance
        JsonFactory factory = new JsonFactory();
        JsonParser parser = factory.createParser(json);

        // Parse JSON
        while (!parser.isClosed()) {
            JsonToken token = parser.nextToken();

            if (token == null) break;

            switch (token) {
                case FIELD_NAME -> {
                    String fieldName = parser.getCurrentName();
                    System.out.print("Field: " + fieldName + " -> ");
                }
                case VALUE_STRING -> {
                    String value = parser.getValueAsString();
                    System.out.println("String Value: " + value);
                }
                case VALUE_NUMBER_INT -> {
                    int value = parser.getValueAsInt();
                    System.out.println("Integer Value: " + value);
                }
                default -> {}
            }
        }

        parser.close();
    }
}

Output

Field: name -> String Value: John Doe
Field: age -> Integer Value: 30
Field: address -> 
Field: city -> String Value: Dhaka
Field: country -> String Value: Bangladesh

JsonGenerator

JsonGenerator ব্যবহার করে JSON ডেটা লেখা হয়। এটি ইভেন্ট-বেসড পদ্ধতিতে JSON ডেটা নির্মাণ করতে সাহায্য করে।

JsonGenerator উদাহরণ

JSON ডেটা তৈরি করার জন্য JsonGenerator ব্যবহার:

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;

import java.io.IOException;
import java.io.StringWriter;

public class JsonGeneratorExample {
    public static void main(String[] args) throws IOException {
        StringWriter writer = new StringWriter();

        // Create JsonGenerator instance
        JsonFactory factory = new JsonFactory();
        JsonGenerator generator = factory.createGenerator(writer);

        // Start writing JSON
        generator.writeStartObject(); // {

        generator.writeStringField("name", "John Doe"); // "name": "John Doe"
        generator.writeNumberField("age", 30);         // "age": 30

        generator.writeFieldName("address");           // "address":
        generator.writeStartObject();                 // {
        generator.writeStringField("city", "Dhaka");  // "city": "Dhaka"
        generator.writeStringField("country", "Bangladesh"); // "country": "Bangladesh"
        generator.writeEndObject();                   // }

        generator.writeEndObject(); // }

        generator.close();

        // Print the JSON output
        System.out.println(writer.toString());
    }
}

Output

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "city": "Dhaka",
    "country": "Bangladesh"
  }
}

JsonParser এবং JsonGenerator-এর ব্যবহার ক্ষেত্র

JsonParser-এর ব্যবহার ক্ষেত্র:

  1. বড় JSON ডেটা: স্ট্রিমিং পদ্ধতিতে ডেটা পড়ার জন্য কার্যকর।
  2. স্মৃতি (Memory) ব্যবস্থাপনা: লার্জ JSON ডেটা লোড না করেই পড়ার সুবিধা।
  3. ডেটা প্রসেসিং: JSON ডেটা থেকে নির্দিষ্ট অংশ বের করে প্রক্রিয়া করা।

JsonGenerator-এর ব্যবহার ক্ষেত্র:

  1. কাস্টম JSON তৈরি: জটিল JSON ডেটা ম্যানুয়ালি লেখার জন্য।
  2. বড় JSON ডেটা তৈরি: স্ট্রিমিং পদ্ধতিতে ডেটা লেখা।
  3. ডেটা স্ট্রাকচার থেকে JSON নির্মাণ: Nested Objects এবং Custom Logic প্রয়োগ করে JSON তৈরি করা।

JsonParser এবং JsonGenerator ব্যবহার করার সুবিধা

  • High Performance: স্ট্রিমিং পদ্ধতির কারণে কার্যকারিতা বেশি।
  • Low Memory Footprint: সম্পূর্ণ JSON মেমোরিতে লোড না করেও কাজ করা সম্ভব।
  • Flexibility: Custom Logic প্রয়োগ করে JSON ডেটা পড়া ও লেখা সহজ।

এই টেকনিকগুলি তখনই সবচেয়ে কার্যকর যখন আপনি বড় JSON ডেটা নিয়ে কাজ করছেন এবং JSON ডেটার সাথে বিশেষ ধরনের প্রক্রিয়া সম্পন্ন করতে চান।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...